<?	
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
		$this->oTmpObject = new Usuario_frm( $this );
	
	class Usuario_frm extends Frm
	{
	function setValue ( $ncUsuario )
		{
			$cSql = "SELECT  ncTipoVisibilidad,  cNombre,  cApellido,  cEmail,  dNacimiento,  cAlias,  ncGenero,  cArchivo,  ncPais,  ncUbicacion,  cDireccion,  cTelefono,  cDescripcion,  bGacetilla,  bPublicarInfo,  bBloqueado,  bActivo,  cRoles,  cDocumento
				FROM gtUsuario
				WHERE ncUsuario = '$ncUsuario' ";
			$aDatos = $this->oDatabase->getArray($cSql);	
			$this->setFieldsArray ( $aDatos );
		}
	function Usuario_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncUsuario']				= new Input("Codigo","ncUsuario", '', false, true);
			$this->aFields['ncTipoVisibilidad']	= new InputList( "Visibilidad", "ncTipoVisibilidad" );
			$this->aFields['cNombre']				= new InputText( "Nombre", "cNombre" );
			$this->aFields['cApellido']				= new InputText( "Apellido", "cApellido" );
			$this->aFields['cEmail']					= new InputText( "Email", "cEmail" );
			$this->aFields['dNacimiento']			= new InputDate( "Nacimiento", "dNacimiento" );
			$this->aFields['cAlias']						= new InputText( "Alias", "cAlias" );
			$this->aFields['ncGenero']				= new InputList( "Genero", "ncGenero" );
			$this->aFields['ncPais']					= new InputList( "Pais", "ncPais" );
			$this->aFields['ncUbicacion']			= new InputList( "Barrio", "ncUbicacion" );
			$this->aFields['cDireccion']				= new InputText( "Direccion", "cDireccion" );
			$this->aFields['cTelefono']				= new InputText( "Telefono", "cTelefono" );
			$this->aFields['cDescripcion']			= new InputText( "Descripcion", "cDescripcion" );
			$this->aFields['bGacetilla']				= new InputList( "Gacetilla", "bGacetilla" );
			$this->aFields['bPublicarInfo']			= new InputList( "PublicarInfo", "bPublicarInfo" );
			$this->aFields['bBloqueado']			= new InputList( "Bloqueado", "bBloqueado" );
			$this->aFields['bActivo']					= new InputList( "Activo", "bActivo" );
			$this->aFields['cDocumento']			= new InputText( "Documento", "cDocumento" );	
		}	
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncUsuario']->getValue() )
				{
					$this->setValue( $this->aFields['ncUsuario']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Usuario" );	
			return true;
		}
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{
					case 'ncTipoVisibilidad':
						$cSql = "SELECT ncTipoVisibilidad, cdTipoVisibilidad FROM gcTipoVisibilidad";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						$oField->setMandatory($this->isMandatory());
					break;
					case 'ncGenero':
						$cSql = "SELECT ncGenero, cdGenero FROM acGenero";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					break;
					case 'ncPais':
						$cSql = "SELECT ncPais, cdPais FROM acPais";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					break;
					case 'ncUbicacion':
						$cSql = "SELECT ncUbicacion, cdUbicacion FROM acUbicacion WHERE ncPais = 8 AND ncUbicacionPadre = 25";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					break;
					case 'bGacetilla':
					case 'bPublicarInfo':
					case 'bBloqueado':
					case 'bActivo':
						$oField->setBool();
					break;
			}
 		}
	}
?>